How Block-based Languages Support Novices A Framework for Categorizing Block-based Affordances
نویسندگان
چکیده
The ability to express ideas in a computationally meaningful way is becoming increasingly important in our technological world. In response to the growing importance of computational literacy skills, new intuitive and accessible programming environments are being designed. This paper presents a framework for classifying the ways that block-based introductory programming environments support novices. We identify four distinct roles that these graphical languages play in the activity of programming: (1) serving as a means for expressing ideas to the computer, (2) providing a record of previously articulated intentions, (3) acting as a source of ideas for construction, and (4) mediating the meaning-making process. Using data from a study of novices programming with a custom designed block-based language, we provide examples of each role along with a discussion of the design implications of these findings. In doing so, we contribute to our understanding of the relationship between the design of programming representations and their ability to support computational literacy. The paper concludes with a discussion of the potential for this framework beyond block-based environments to programming languages more broadly.
منابع مشابه
Do Code Smells Hamper Novice Programming?
Recently, block-based programming languages like Alice, Scratch and Blockly have become popular tools for programming education. There is substantial research showing that block-based languages are suitable for early programming education. But can block-based programs be smelly too? And does that matter to learners? In this paper we explore the code smells metaphor in the context of block-based...
متن کاملStream- and State-Based Semantics of Hierarchy in Block Diagrams
Block diagrams are often used in embedded system design for modeling both plant and controller, typically with continuous and discrete modeling, respectively. Though easy to use, advanced users and implementers of these languages often run afoul of subtle semantic problems these seemingly simple languages can have. Based on the streamand state-based approaches, this paper discusses how the spec...
متن کاملApproaches for Teaching Prolog to Beginners
Prolog is a very different language compared with procedural or object-oriented languages, and developing a Prolog programming mindset is a challenge for many novices. In this paper, we consider a number of teaching approaches which instructors use to deliver basic ideas about Prolog to novices. We classify these approaches into three categories – “logic based”, “declarative features based” and...
متن کاملA Conceptual Framework for Semantic Web Services Development and Deployment
Several extensions of the Web Services Framework have been proposed. The combination with Semantic Web technologies introduces a notion of semantics, which can enhance scalability through automation of service development and deployment. Ontology technology – the core of the Semantic Web – can be the central building block of this endeavour. We present a conceptual framework for ontology-based ...
متن کاملToward a framework on how affordances and motives can drive different uses of scaffolds: theory, evidence, and design implications
One way to help students engage in higher-order thinking is through scaffolding, which can be defined as support that allows students to participate meaningfully in and gain skill at a task that is beyond their unassisted abilities. Most research on computerbased scaffolds assesses the average impact of the tools on learning outcomes. This is problematic in that it assumes that computer-based s...
متن کامل